OTA-1174: upgrade status: Expand health insights with --detailed=health - #1736
Conversation
Every insight will have two more fields: - description: human-oriented, potentially longer form message that should explain what is going on and should indicate a direction for fixing the problem - remediation URL: link to a helpful runbook or documentation location In detailed mode the output is arranged not in a table, but as a `oc describe`-like tree.
Descriptions were populated with `message` strings coming from respective sources: either a `ClusterOperator` condition or MCO annotation. References were populated with existing runbooks for matching `ClusterOperator` alerts, or with links to existing MCO documentation for the given domain.
Descriptions (with linebreaks) are no longer shown in tabular output, just in detailed tree one. Hence, we may keep them, but should pad them respectively so the blocks of text are properly indented.
Incomplete insights are not not actionable enough to show them to the user, so we filter them out while processing.
"All is well" is an artificial insight so that we can show *something* when everything goes fine. There is no point in showing details for it because all detailed fields are empty.
|
@petr-muller: This pull request references OTA-1174 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.16.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@petr-muller: This pull request references OTA-1174 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.16.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
@petr-muller: This pull request references OTA-1174 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.16.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: petr-muller, wking The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/retest-required |
|
@petr-muller: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
|
[ART PR BUILD NOTIFIER] This PR has been included in build openshift-enterprise-cli-container-v4.16.0-202404191609.p0.g17c015a.assembly.stream.el8 for distgit openshift-enterprise-cli. |
Review notes:
Please focus on the structure, not on the actual content of the expaned insights. Insights are data, we can easily improve them. Especially the content of the node-related insights can be improved (and generating single insight per node is probably overwhelming) and #1690 goes further in that direction, but this PR concerns mostly about the new
--detailed=healthformatting, not with existing insight content.Some smaller changes are separated into small commits, I recommend reviewing by commit.
--details=healthshows reference and descriptionEvery insight will have two more fields:
In detailed mode the output is arranged not in a table, but as a
oc describe-like tree.populate descriptions and refs for insights
Descriptions were populated with
messagestrings coming from respective sources: either aClusterOperatorcondition or MCO annotation.References were populated with existing runbooks for matching
ClusterOperatoralerts, or with links to existing MCO documentation for the given domain.pad linebreaks in descriptions
Descriptions (with linebreaks) are no longer shown in tabular output, just in detailed tree one. Hence, we may keep them, but should pad them respectively so the blocks of text are properly indented.
ignore incomplete insights
Incomplete insights are not not actionable enough to show them to the user, so we filter them out while processing.
always tabulate 'All is well'
"All is well" is an artificial insight so that we can show something when everything goes fine. There is no point in showing details for it because all detailed fields are empty.